package com.niiwoo.civet.trade.service.loan.credit;

import com.niiwoo.civet.trade.dto.common.TcCreditAmountResultDTO;
import com.niiwoo.civet.trade.dto.request.loan.ProjectFlowExecuteRuntimeDTO;

/**
 * V5.1.5  授信额度评分卡
 * Created by dell on 2018/4/19.
 * Description：civet-app
 */
public interface CreditAmountDubboService {

    /**
     * 获取授信额度
     * @param flowExecuteId
     */
    void getCreditAmount(Long flowExecuteId);

    /**
     * 获取提额授信额度
     * @param flowExecuteId
     */
    default void getTeCditAmount(Long flowExecuteId){};

    /**
     * 重新发起天秤额度评分卡调用（重试只针对于发起天秤请求的场景）
     */
    void retryCallTcAmountScoreCard(ProjectFlowExecuteRuntimeDTO flowExecuteRuntimeDTO);

    default void teRetryCallTcAmountScoreCard(ProjectFlowExecuteRuntimeDTO flowExecuteRuntimeDTO){};

    /**
     * 天秤授信额度评分卡回调
     * @param functionCode
     * @param amountResultDTO
     */
    void scoreCardTcCallback(String functionCode, TcCreditAmountResultDTO amountResultDTO);

    /**
     * 补漏查询（针对于天秤异步回调超时的场景）
     * @param flowExecuteRuntimeDTO
     */
    void amountScoreBareQuery(ProjectFlowExecuteRuntimeDTO flowExecuteRuntimeDTO);
    /**
     * 补漏查询（针对于天秤异步回调超时的场景）
     * @param flowExecuteRuntimeDTO
     */
    default public void teAmountScoreBareQuery(ProjectFlowExecuteRuntimeDTO flowExecuteRuntimeDTO){};
}
